Project 01
Blog Capstone Project — "Random Notes"
This project demonstrates the ability to build and deploy a dynamic web application from scratch. The focus was on creating a clean, user-friendly interface while ensuring solid backend logic and data persistence.
Key Features
- RESTful Routing: Implemented comprehensive GET and POST routes for creating, viewing, editing, and deleting blog posts.
- Dynamic Views: Used EJS templating engine to render data dynamically on the frontend.
- Persistent Storage: Designed a file-based storage system using
posts.jsonand thenode:fsmodule to ensure data persists across server restarts. - Form Validation: Integrated robust server-side validation to ensure all posts have titles, authors, and content before being saved.
Live Preview
Live Website
View the website live on this link.
Project 02
One On One Football — European Football Live Scores
A companion full-stack project built on the same Node.js, Express, and EJS stack as the Blog Capstone Project above. One On One Football pulls live data from the API-Football service to surface league standings, upcoming fixtures, and team & player profiles across Europe's top competitions. It was later ported to a fully static build — every EJS view rewritten as plain HTML with the server-side route logic reimplemented as client-side JavaScript — so the app can be hosted directly on GitHub Pages without a Node server.
Key Features
- League Standings: Live tables for the Premier League, La Liga, Serie A, Bundesliga, and Ligue 1.
- Fixtures & Live Scores: Upcoming matches and in-progress scores pulled straight from the API.
- Team Search: Look up any club to see its crest and recent results.
- Player Search: Find a player and view their current-season stats at a glance.
- Static Site Conversion: Server routes (
routes/*.js,utils/apiFootball.js) ported to client-sidefetch()calls in plain JavaScript, with no build step required.
App Overview
Standings
Current league tables across Europe's top divisions.
Fixtures
What's coming up next, or matches happening right now.
Teams
Club crests, profiles, and recent results.
Players
Player search with this season's stats at a glance.
Live Demo
Browse the static build of One On One Football right here on this site.